package com.tensquare.notice;

import com.tensquare.notice.config.ApplicationContextProvider;
import com.tensquare.notice.netty.NettyServer;
import com.tensquare.util.IdWorker;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Bean;

@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients
public class NoticeApplication {

    public static void main(String[] args) {
        SpringApplication.run(NoticeApplication.class, args);

        NettyServer server= ApplicationContextProvider.getApplicationContext().getBean(NettyServer.class);
        try {
            server.start(12345);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Bean
    public IdWorker createIdWorker(){
        return new IdWorker(1, 1);
    }
}